package modelo;

import modelo.Barco;
import modelo.Mina;

import java.util.Iterator;
import java.util.Collection;
import java.util.ArrayList;

import excepciones.LaPosicionYaTieneMinaExcepcion;

public class Posicion {
	private Collection<Barco> coleccionDeBarcos;
	private Mina mina;
	private int fila;
	private int columna;

	public Posicion(int fila, int columna) {
		this.coleccionDeBarcos = new ArrayList<Barco>();
		this.fila = fila;
		this.columna = columna;
		this.mina = null;
	}
	
	public int getFila() {
		return fila;
	}
	public int getColumna() {
		return columna;
	}

	public void agregarMina(Mina unaMina) throws LaPosicionYaTieneMinaExcepcion {
		if (mina != null) {
			throw new LaPosicionYaTieneMinaExcepcion("La posicion ya tiene una mina asignada.");
		}
		this.mina = unaMina;
	}

	public void agregarBarco(Barco barco) {
		this.coleccionDeBarcos.add(barco);
	}
	
	public void quitarBarco(Barco barco) {
		this.coleccionDeBarcos.remove(barco);
	}
	public void quitarMina(){
		this.mina=null;
	}
	
	public Iterator<Barco> getBarcos() {
		return coleccionDeBarcos.iterator();
	}
	
	public Mina getMina() {
		return mina;
	}

}
